This page was last built on 26.04.20 00:56:52
# # create diffs
# df_cases['new_deaths'] = df_cases.deaths.diff()
# # flatten artifacts from one country to the next
# df_cases[df_cases['new_deaths']<0] = 0
# df_cases['new_confirmed'] = df_cases.confirmed.diff()
# df_cases[df_cases['new_confirmed']<0] = 0
#hide
# create diffs
df_cases['new_deaths'] = df_cases.deaths.diff()
# flatten artifacts from one country to the next
df_cases.loc[df_cases['new_deaths']<0, 'new_deaths'] = 0
df_cases['new_confirmed'] = df_cases.confirmed.diff()
df_cases.loc[df_cases['new_confirmed']<0, 'new_confirmed'] = 0

Estimated time of infection vs. confirmed infections

Following the ideas from Tomas Pueyo's Medium post "Coronavirus: Why You Must Act Now" [1], we assume the average time from infection to death at 23 days [2]. The data is pulled from the COVID-19 Data Repository by Johns Hopkins CSSE [3] every hour. Countries with a minimnum of 1000 confirmed cases and 40 confirmed deaths are included in this analysis.

The time from infection to death is equal to the incubation period plus the time from symptoms to death. This is used to estimate the time of the infections that lead to the observed deaths. We take the last fatality rate per country (total_cases/total_deaths) to estimate the number of infections that are responsible for the observed deaths.

In the figures below, you can observe successive waves of infections (dashed), detections (black) and deaths (red) for each country. The upper panel shows the absolute number of events. The dashed lines show the estimated number of infections. The lower panel shows the normalized number of events. Here the temporal delay between the waves and the relative change between each other can be observed.

[1] https://medium.com/@tomaspueyo/coronavirus-act-today-or-people-will-die-f4d3d9cd99ca

[2] https://github.com/midas-network/COVID-19/tree/master/parameter_estimates/2019_novel_coronavirus

[3] https://github.com/CSSEGISandData/COVID-19/tree/master/csse_covid_19_data/csse_covid_19_time_series

df_cases_country = dff2[dff2['country']=="Germany"]
df_cases_country
country type confirmed deaths ratio fatality new_deaths new_confirmed date Days since case 50
date
2020-02-29 Germany confirmed 79 0 79.000000 0.000000 0.0 31.0 2020-02-29 0
2020-03-01 Germany confirmed 130 0 130.000000 0.000000 0.0 51.0 2020-03-01 1
2020-03-02 Germany confirmed 159 0 159.000000 0.000000 0.0 29.0 2020-03-02 2
2020-03-03 Germany confirmed 196 0 196.000000 0.000000 0.0 37.0 2020-03-03 3
2020-03-04 Germany confirmed 262 0 262.000000 0.000000 0.0 66.0 2020-03-04 4
2020-03-05 Germany confirmed 482 0 482.000000 0.000000 0.0 220.0 2020-03-05 5
2020-03-06 Germany confirmed 670 0 670.000000 0.000000 0.0 188.0 2020-03-06 6
2020-03-07 Germany confirmed 799 0 799.000000 0.000000 0.0 129.0 2020-03-07 7
2020-03-08 Germany confirmed 1040 0 1040.000000 0.000000 0.0 241.0 2020-03-08 8
2020-03-09 Germany confirmed 1176 2 392.000000 0.001701 2.0 136.0 2020-03-09 9
2020-03-10 Germany confirmed 1457 2 485.666667 0.001373 0.0 281.0 2020-03-10 10
2020-03-11 Germany confirmed 1908 3 477.000000 0.001572 1.0 451.0 2020-03-11 11
2020-03-12 Germany confirmed 2078 3 519.500000 0.001444 0.0 170.0 2020-03-12 12
2020-03-13 Germany confirmed 3675 7 459.375000 0.001905 4.0 1597.0 2020-03-13 13
2020-03-14 Germany confirmed 4585 9 458.500000 0.001963 2.0 910.0 2020-03-14 14
2020-03-15 Germany confirmed 5795 11 482.916667 0.001898 2.0 1210.0 2020-03-15 15
2020-03-16 Germany confirmed 7272 17 404.000000 0.002338 6.0 1477.0 2020-03-16 16
2020-03-17 Germany confirmed 9257 24 370.280000 0.002593 7.0 1985.0 2020-03-17 17
2020-03-18 Germany confirmed 12327 28 425.068966 0.002271 4.0 3070.0 2020-03-18 18
2020-03-19 Germany confirmed 15320 44 340.444444 0.002872 16.0 2993.0 2020-03-19 19
2020-03-20 Germany confirmed 19848 67 291.882353 0.003376 23.0 4528.0 2020-03-20 20
2020-03-21 Germany confirmed 22213 84 261.329412 0.003782 17.0 2365.0 2020-03-21 21
2020-03-22 Germany confirmed 24873 94 261.821053 0.003779 10.0 2660.0 2020-03-22 22
2020-03-23 Germany confirmed 29056 123 234.322581 0.004233 29.0 4183.0 2020-03-23 23
2020-03-24 Germany confirmed 32986 157 208.772152 0.004760 34.0 3930.0 2020-03-24 24
2020-03-25 Germany confirmed 37323 206 180.304348 0.005519 49.0 4337.0 2020-03-25 25
2020-03-26 Germany confirmed 43938 267 163.947761 0.006077 61.0 6615.0 2020-03-26 26
2020-03-27 Germany confirmed 50871 342 148.311953 0.006723 75.0 6933.0 2020-03-27 27
2020-03-28 Germany confirmed 57695 433 132.937788 0.007505 91.0 6824.0 2020-03-28 28
2020-03-29 Germany confirmed 62095 533 116.282772 0.008584 100.0 4400.0 2020-03-29 29
2020-03-30 Germany confirmed 66885 645 103.537152 0.009643 112.0 4790.0 2020-03-30 30
2020-03-31 Germany confirmed 71808 775 92.536082 0.010793 130.0 4923.0 2020-03-31 31
2020-04-01 Germany confirmed 77872 920 84.551574 0.011814 145.0 6064.0 2020-04-01 32
2020-04-02 Germany confirmed 84794 1107 76.528881 0.013055 187.0 6922.0 2020-04-02 33
2020-04-03 Germany confirmed 91159 1275 71.441223 0.013987 168.0 6365.0 2020-04-03 34
2020-04-04 Germany confirmed 96092 1444 66.499654 0.015027 169.0 4933.0 2020-04-04 35
2020-04-05 Germany confirmed 100123 1584 63.169085 0.015821 140.0 4031.0 2020-04-05 36
2020-04-06 Germany confirmed 103374 1810 57.081171 0.017509 226.0 3251.0 2020-04-06 37
2020-04-07 Germany confirmed 107663 2016 53.377789 0.018725 206.0 4289.0 2020-04-07 38
2020-04-08 Germany confirmed 113296 2349 48.211064 0.020733 333.0 5633.0 2020-04-08 39
2020-04-09 Germany confirmed 118181 2607 45.314801 0.022059 258.0 4885.0 2020-04-09 40
2020-04-10 Germany confirmed 122171 2767 44.136922 0.022649 160.0 3990.0 2020-04-10 41
2020-04-11 Germany confirmed 124908 2736 45.636829 0.021904 0.0 2737.0 2020-04-11 42
2020-04-12 Germany confirmed 127854 3022 42.293748 0.023636 286.0 2946.0 2020-04-12 43
2020-04-13 Germany confirmed 130072 3194 40.711111 0.024556 172.0 2218.0 2020-04-13 44
2020-04-14 Germany confirmed 131359 3294 39.866161 0.025076 100.0 1287.0 2020-04-14 45
2020-04-15 Germany confirmed 134753 3804 35.414717 0.028229 510.0 3394.0 2020-04-15 46
2020-04-16 Germany confirmed 137698 4052 33.974340 0.029427 248.0 2945.0 2020-04-16 47
2020-04-17 Germany confirmed 141397 4352 32.482656 0.030779 300.0 3699.0 2020-04-17 48
2020-04-18 Germany confirmed 143342 4459 32.139462 0.031107 107.0 1945.0 2020-04-18 49
2020-04-19 Germany confirmed 145184 4586 31.651188 0.031588 127.0 1842.0 2020-04-19 50
2020-04-20 Germany confirmed 147065 4862 30.241620 0.033060 276.0 1881.0 2020-04-20 51
2020-04-21 Germany confirmed 148291 5033 29.457886 0.033940 171.0 1226.0 2020-04-21 52
2020-04-22 Germany confirmed 150648 5279 28.531818 0.035042 246.0 2357.0 2020-04-22 53
2020-04-23 Germany confirmed 153129 5575 27.462159 0.036407 296.0 2481.0 2020-04-23 54
2020-04-24 Germany confirmed 154999 5760 26.904878 0.037162 185.0 1870.0 2020-04-24 55
US
Italy
Spain
France
United Kingdom
Belgium
Germany
Iran
China
Netherlands
Brazil
Turkey
Canada
Sweden
Switzerland
Mexico
Ireland
Portugal
India
Peru
Russia
Ecuador
Romania
Austria
Poland
Japan
Pakistan
South Korea
Israel
Chile
Saudi Arabia

Ahead of the curve

Some countries start testing the population earlier in the outbreak than others. The time delay between the wave of deaths and the wave of confirmed cases is indicative for how early a country is detecting new cases ahead of the increase of deaths. Earlier detection means a better chances for successful isolation of an infected person and treatment of the desease.

We measure the distance of the maximum of cumulative deaths and new deaths to the number of infections to estimate the progression of the infection across countries.

If, in the early phase of the infection wave, the number of deaths rises faster than the number of confirmed cases, the distance drops, indicating that

A comparison of countries with respect to their mean time for reponse is presented below.

To determine the above values, we plot the number of confirmed cases (solid black lines) and the number of deaths (dashed black lines). From this, we measure the distance of the day of maximum deaths (dashed red lines) to the day of confirmed cases at this y-value.

The distance is indicative for how fast the humber of confirmed cases increases comapred to the increase of the number of deaths.

US
Italy
Spain
France
United Kingdom
Belgium
Germany
Iran
China
Netherlands
Brazil
Turkey
Canada
Sweden
Switzerland
Mexico
Ireland
Portugal
India
Peru
Russia
Ecuador
Romania
Austria
Poland
Japan
Pakistan
South Korea
Israel
Chile
Saudi Arabia